:root {
    --transition: 0.1s;
    --border-radius: 56px;
}

.button-wrap {
    width: 300px;
    height: 100px;
    margin: 100px auto;
    position: relative;
    transition: transform var(--transition), box-shadow var(--transition);
}

.button-wrap.pressed {
    transform: translateZ(0) scale(0.95);
}

.button {
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    overflow: hidden;
    border-radius: var(--border-radius);
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.25), 0px 8px 16px rgba(0, 0, 0, 0.15),
        0px 16px 32px rgba(0, 0, 0, 0.125);
    transform: translateZ(0);
    cursor: pointer;
}

.button.pressed {
    box-shadow: 0px -1px 1px rgba(0, 0, 0, 0.5), 0px 1px 1px rgba(0, 0, 0, 0.5);
}

.text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    color: rgba(0, 0, 0, 0.7);
    font-size: 48px;
    font-weight: 500;
    text-shadow: 0px -1px 0px rgba(255, 255, 255, 0.5), 0px 1px 0px rgba(255, 255, 255, 0.5);
}

.text::selection {
    background-color: transparent;
}

.button .button-reflection {
    width: 100%;
    height: 100%;
    transform: scaleX(-1);
    object-fit: cover;
    opacity: 0.7;
    filter: blur(2px) saturate(0.6) brightness(1.1);
    object-position: 0 -100px;
}